xen.git
20 years agoAdded Zope's test.py, and a unit test to sxp. This test itself isn't very
emellor@ewan [Thu, 6 Oct 2005 14:12:31 +0000 (15:12 +0100)]
Added Zope's test.py, and a unit test to sxp.  This test itself isn't very
exciting, but it's there to encourage the creation of more interesting ones.  A
test target has been added to the main Makefile, and the one in tools/python.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMerged.
emellor@ewan [Thu, 6 Oct 2005 10:12:55 +0000 (11:12 +0100)]
Merged.

20 years agoAllow shutdown code SHUTDOWN_HALT, which we handle here in exactly the same
emellor@ewan [Thu, 6 Oct 2005 10:11:16 +0000 (11:11 +0100)]
Allow shutdown code SHUTDOWN_HALT, which we handle here in exactly the same
way as POWEROFF.  The tools use the distinction when the code is returned.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRename all dying domains to be prefixed with Zombie. This allows a new domain
emellor@ewan [Thu, 6 Oct 2005 10:09:14 +0000 (11:09 +0100)]
Rename all dying domains to be prefixed with Zombie.  This allows a new domain
to be created with the same name, fixing the race condition inside XendDomain
that caused bug #278.

Move the state_set(TERMINATED) call onto the end of cleanupDomain rather than
destroyDomain, so that this flag is set when XendDomain cleans up a domain
that was killed without going through Xend.

Remove is_terminated, as this check is no longer necessary, since we are using
Zombie prefixes instead.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoReduce the log level for the 'cannot recreate information for dying domain'
emellor@ewan [Thu, 6 Oct 2005 10:04:49 +0000 (11:04 +0100)]
Reduce the log level for the 'cannot recreate information for dying domain'
message for all but the first refresh when Xend starts.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoEnsure that all fields of evtchn_op_t are initialised when
kaf24@firebug.cl.cam.ac.uk [Thu, 6 Oct 2005 09:42:32 +0000 (10:42 +0100)]
Ensure that all fields of evtchn_op_t are initialised when
making an event_channel_op hypercall. Stefan Berger gets the
credit for diagnosing nasty domU driver problems that were a
result of garbage fields.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoIssue diagnostic if we find dying domains on Xend restart, because we will not
emellor@ewan [Thu, 6 Oct 2005 09:16:50 +0000 (10:16 +0100)]
Issue diagnostic if we find dying domains on Xend restart, because we will not
be able to show them any longer, as the paths in the store have gone.  Don't
call cleanupVm when a domain dies, as localhost-migrating VMs will be blown
away by this (there is actually a race between the saving process and the
resuming process).  This fixes bug #276.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRaise an exception if an error appears on the pipes to our children, and make
emellor@ewan [Thu, 6 Oct 2005 09:13:11 +0000 (10:13 +0100)]
Raise an exception if an error appears on the pipes to our children, and make
sure that the child's pipes are closed even under that exception.  Move the
handling of POLLHUP to the end of the loop, so that we guarantee to read any
remaining data from the child if POLLHUP and POLLIN appear at the same time.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agomixup in vcpu-enable and vcpu-disable help string
vh249@kneesaa.uk.xensource.com [Wed, 5 Oct 2005 23:16:29 +0000 (19:16 -0400)]
mixup in vcpu-enable and vcpu-disable help string

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoReformat the pfn_info structure to ensure that
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 22:47:09 +0000 (23:47 +0100)]
Reformat the pfn_info structure to ensure that
lock cmpxchg8b instructions occur only on naturally
aligned 8-byte memory values. This is needed for some
NUMA x86 systems.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Aravindh Puthiyaparambil <first.last@unisys.com>
20 years agoActivate suspending/resuming of the TPM interface and add
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 22:15:00 +0000 (23:15 +0100)]
Activate suspending/resuming of the TPM interface and add
some missing code to tpmif.py.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
20 years agoGentoo compatible stuff has to be done *before* the set -e. You could also do
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 18:15:56 +0000 (19:15 +0100)]
Gentoo compatible stuff has to be done *before* the set -e.  You could also do
the which in the if with a combination of ! and || after the set -e but I think
it's cleaner to just do it before the set -e.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
20 years agoEVTCHNOP_alloc_unbound can allocate a port in an arbitrary
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 18:14:13 +0000 (19:14 +0100)]
EVTCHNOP_alloc_unbound can allocate a port in an arbitrary
domain (only if the caller is sufficiently privileged).

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix the handling of VCPUs, specifically wrt the broken VCPU hotplugging, bug
emellor@ewan [Wed, 5 Oct 2005 17:06:42 +0000 (18:06 +0100)]
Fix the handling of VCPUs, specifically wrt the broken VCPU hotplugging, bug
#280.  The cpu/<id>/availability paths had moved into /vm, but that is not
easily accessible by the hotplugging driver, so I have created a /vm entry
called vcpu_avail, so that the setting migrates along with the domain, and
moved the cpu/<id> ones back to /local/domain.

Don't try and destroy the domain twice if it fails within construct.  This
wasn't harming anything, but there's no need.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoChange boolean config option parsing to allow True and Y and similar useful
emellor@ewan [Wed, 5 Oct 2005 16:48:36 +0000 (17:48 +0100)]
Change boolean config option parsing to allow True and Y and similar useful
things.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix save/restore -- too much work being done in
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 16:07:01 +0000 (17:07 +0100)]
Fix save/restore -- too much work being done in
interrupts-off context.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoEmulate guest reads of CR4, masking features that Xen
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 15:54:09 +0000 (16:54 +0100)]
Emulate guest reads of CR4, masking features that Xen
does not export to guests.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoSend event-channel notification from console daemon
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 15:32:07 +0000 (16:32 +0100)]
Send event-channel notification from console daemon
to guest console driver when the output ring is
emptied. This can be used to kick transmission of
more characters without needing to poll.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRevert changes checked in by mistake in previous changeset.
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 14:15:50 +0000 (15:15 +0100)]
Revert changes checked in by mistake in previous changeset.

20 years agoClean up DESTDIR handling. Default install is to root
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 14:05:38 +0000 (15:05 +0100)]
Clean up DESTDIR handling. Default install is to root
directory (/). This is only overridden automatically
for the 'make dist' targets and their legacy aliases
(make {xen,tools,kernels,docs}).

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMerge (with trepidation).
emellor@ewan [Wed, 5 Oct 2005 13:40:35 +0000 (14:40 +0100)]
Merge (with trepidation).

20 years agoRecover from name uniqueness violation by renaming. Fixes bug #277.
emellor@ewan [Wed, 5 Oct 2005 13:38:19 +0000 (14:38 +0100)]
Recover from name uniqueness violation by renaming.  Fixes bug #277.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAdd Gentoo handling to network-bridge. Based on patches
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 13:14:04 +0000 (14:14 +0100)]
Add Gentoo handling to network-bridge. Based on patches
from Jon Mason and Anthony Liguori.

20 years agoHandle the case where there are no spaces or parameters
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 13:10:49 +0000 (14:10 +0100)]
Handle the case where there are no spaces or parameters
after the image name on the command line.

Signed-off-by: Mike Day <mdday@us.ibm.com>
20 years agoFix DOM0_PHYSINFO to return correct value for total
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 13:06:23 +0000 (14:06 +0100)]
Fix DOM0_PHYSINFO to return correct value for total
system memory.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoCurrently, the scripts in /etc/xen/scripts won't get overwritten if they
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 12:54:36 +0000 (13:54 +0100)]
Currently, the scripts in /etc/xen/scripts won't get overwritten if they
exist which means that changes can easily not get updated.  This makes
it so the scripts always get installed.

Signed-off-by: Jeremy Katz <katzj@redhat.com>
20 years agoThe attached patch places an updated TPM driver into the sparse directory.
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 12:52:18 +0000 (13:52 +0100)]
The attached patch places an updated TPM driver into the sparse directory.
This driver allows to build a Xen0 kernel with TPM front- and backend
support and use it as a user domain kernel - something that is not
possible to do with the current TPM driver in the 2.6.12 kernel. Once this
driver appears in similar form in the kernel, I will remove it from the
sparse directory.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Signed-off-by: Kylene Hall <kjhall@us.ibm.com>
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com>
20 years agoRestructure the makefiles used to drive builds of linux 2.6 kernels.
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 12:41:59 +0000 (13:41 +0100)]
Restructure the makefiles used to drive builds of linux 2.6 kernels.
A common file eliminates duplication across makefiles.

Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com>
20 years agoMove setting of configuration variables to Config.mk.
kaf24@firebug.cl.cam.ac.uk [Wed, 5 Oct 2005 12:32:00 +0000 (13:32 +0100)]
Move setting of configuration variables to Config.mk.
Allows for partial-tree builds to be invoked from a sub-directory.
Allow for users to include a ".config" with additional custom settings.

Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com>
20 years agoRemoved the EventServer, replacing the events fired with simple logging
emellor@ewan [Wed, 5 Oct 2005 10:43:23 +0000 (11:43 +0100)]
Removed the EventServer, replacing the events fired with simple logging
messages.  This closes bug #281.  Removed references to XendRoot where these
have become unnecessary either through the work above or just through time.

Renamed some parameters in event.py, to mark them as unused.  Fix a call to a
base class constructor there too.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoimported patch /home/emellor/block_detach.patch
emellor@ewan [Tue, 4 Oct 2005 23:11:30 +0000 (00:11 +0100)]
imported patch /home/emellor/block_detach.patch

20 years agoExplicitly close files on save and restore. Rename all local variables named id...
emellor@ewan [Tue, 4 Oct 2005 23:00:42 +0000 (00:00 +0100)]
Explicitly close files on save and restore.  Rename all local variables named id or slice so as not to clash with the builtins.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoExplicitly close files.
emellor@ewan [Tue, 4 Oct 2005 22:56:42 +0000 (23:56 +0100)]
Explicitly close files.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoClean up domains if creation/restoration fails.
emellor@ewan [Tue, 4 Oct 2005 17:23:58 +0000 (18:23 +0100)]
Clean up domains if creation/restoration fails.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix typo.
emellor@ewan [Tue, 4 Oct 2005 16:54:33 +0000 (17:54 +0100)]
Fix typo.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMerge the child-process handling of the save and restore functions into one
emellor@ewan [Tue, 4 Oct 2005 16:49:52 +0000 (17:49 +0100)]
Merge the child-process handling of the save and restore functions into one
forkHelper function.  Change the handling of file descriptor closure to wait
until both stdout and stderr descriptors have closed.  This may fix the
intermittent bug seen whereby xm restore; xend restart leaves the domain in a
misconfigured state, presumably because IntroduceDomain is not being called by
XendCheckpoint.restore.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemoved unused xen_domain method, and unused imports. Comment those methods
emellor@ewan [Tue, 4 Oct 2005 15:38:04 +0000 (16:38 +0100)]
Removed unused xen_domain method, and unused imports.  Comment those methods
expecting domains_lock protection.  Remove notifications through eserver for
_add_domain and _delete_domain, and remove the notify parameters therein.

Tidy the exception handling in domain_restore_fd.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix call to state_set inside preserve (was erroneously calling set_state).
emellor@ewan [Tue, 4 Oct 2005 15:27:16 +0000 (16:27 +0100)]
Fix call to state_set inside preserve (was erroneously calling set_state).
Tidy exception handling, and rename local 'channel' variable which was clashing
with the identical global name.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix xm restore broken by missing return statement.
emellor@ewan [Tue, 4 Oct 2005 14:57:12 +0000 (15:57 +0100)]
Fix xm restore broken by missing return statement.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoClean up sched_op() hypercall interface. One particular
kaf24@firebug.cl.cam.ac.uk [Tue, 4 Oct 2005 14:34:02 +0000 (15:34 +0100)]
Clean up sched_op() hypercall interface. One particular
change to watch out for is that the suspend record, on
save/restore, is now passed via register %edx not %esi
(both i386 and x86/64).

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAllow EVTCHNOP_bind_{ipi,virq} to specify the vcpu to
kaf24@firebug.cl.cam.ac.uk [Tue, 4 Oct 2005 14:02:51 +0000 (15:02 +0100)]
Allow EVTCHNOP_bind_{ipi,virq} to specify the vcpu to
bind to. Previously the alloacted port was implicitly
bound to the calling vcpu.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRename VCPUOP_craete to VCPUOP_initialise. It is likely that
kaf24@firebug.cl.cam.ac.uk [Tue, 4 Oct 2005 14:02:35 +0000 (15:02 +0100)]
Rename VCPUOP_craete to VCPUOP_initialise. It is likely that
VCPU creation will actually be moved to domain-build time.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix tools to pull public header files from standard
kaf24@firebug.cl.cam.ac.uk [Tue, 4 Oct 2005 14:02:18 +0000 (15:02 +0100)]
Fix tools to pull public header files from standard
location in libxc directory. Not direct from xen and
xenlinux build trees! Also fix a type name in
x86_emulator test harness.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMerge to restore reverted changes.
jrb44@swoop.cl.cam.ac.uk [Tue, 4 Oct 2005 13:38:56 +0000 (14:38 +0100)]
Merge to restore reverted changes.

20 years agoThrow away bogus merge.
jrb44@swoop.cl.cam.ac.uk [Tue, 4 Oct 2005 13:37:59 +0000 (14:37 +0100)]
Throw away bogus merge.

20 years agoMerge.
jrb44@swoop.cl.cam.ac.uk [Tue, 4 Oct 2005 13:22:30 +0000 (14:22 +0100)]
Merge.

20 years agoCatch xen.xend.XendProtocol.XendError as well as xen.xend.XendError.XendError.
emellor@ewan [Tue, 4 Oct 2005 10:43:38 +0000 (11:43 +0100)]
Catch xen.xend.XendProtocol.XendError as well as xen.xend.XendError.XendError.
This horror needs cleaning up -- this is just a stopgap.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:42:06 +0000 (11:42 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:41:07 +0000 (11:41 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:40:04 +0000 (11:40 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:36:53 +0000 (11:36 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:36:26 +0000 (11:36 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:35:21 +0000 (11:35 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:33:17 +0000 (11:33 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:31:31 +0000 (11:31 +0100)]
Merged.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:30:51 +0000 (11:30 +0100)]
Merged.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:29:36 +0000 (11:29 +0100)]
Merged.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix debugging statement that was referring to non-existent field.
emellor@ewan [Tue, 4 Oct 2005 10:28:25 +0000 (11:28 +0100)]
Fix debugging statement that was referring to non-existent field.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAdded some DPRINTK statements, for debugging.
emellor@ewan [Tue, 4 Oct 2005 10:27:37 +0000 (11:27 +0100)]
Added some DPRINTK statements, for debugging.

20 years agoMerged.
emellor@ewan [Tue, 4 Oct 2005 10:15:34 +0000 (11:15 +0100)]
Merged.

20 years agoFix localhost live migration. We were overvigorously wiping out the store
emellor@ewan [Tue, 4 Oct 2005 10:14:50 +0000 (11:14 +0100)]
Fix localhost live migration.  We were overvigorously wiping out the store
entries when a domain closed and on save, which meant that the /vm entries
disappeared when a localhost migration occurred.  XendCheckpoint has had extra
exception handling and logging added.  It also now calls back through
XendDomain.restore_,which has the correct locking semantics to prevent race
conditions during migration.

Added assertions to XendCheckpoint to ensure that the channels are set after
XendDomainInfo.restore.  I don't see why they would not be, and the old code
meant that in the case that they were not, IntroduceDomain would not be called
on the new domain, breaking Xend restart.

relocate calls through XendDomain.domain_restore_fd rather than directly to
XendCheckpoint to isolate XendCheckpoint from the rest of the world, and to
allow XendDomain to pass itself into XendCheckpoint for a callback.

Simplify the XendCheckpoint / XendDomainInfo interlock, giving only two
states, OK and TERMINATED.  If XendCheckpoint asks for a suspend, but sees a
shutdown, it is valid for it to proceed -- either way the domain has stopped.
Higher level tools may wish to disallow this, but at the very least, there is
no sense in waiting for a suspend that will never come.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoUse the domain ID to refer to backends, not the UUID. This means that a new
emellor@ewan [Tue, 4 Oct 2005 10:01:38 +0000 (11:01 +0100)]
Use the domain ID to refer to backends, not the UUID.  This means that a new
backend is used on a localhost live migrate; migration was failing otherwise.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoExport some more symbols.
kaf24@firebug.cl.cam.ac.uk [Tue, 4 Oct 2005 08:20:48 +0000 (09:20 +0100)]
Export some more symbols.

20 years agoCope with missing configuration information inside the configuration method.
emellor@ewan [Tue, 4 Oct 2005 01:28:41 +0000 (02:28 +0100)]
Cope with missing configuration information inside the configuration method.
This allows us to better recover if the store has been deleted.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMove the import for XendError, and use a bare import, not a from...import.
emellor@ewan [Tue, 4 Oct 2005 01:25:04 +0000 (02:25 +0100)]
Move the import for XendError, and use a bare import, not a from...import.
This should silence the error message when the program is terminated during
startup.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMove XendDomainInfo.{create,recreate,parseConfig} to the top level of the
emellor@ewan [Tue, 4 Oct 2005 01:21:28 +0000 (02:21 +0100)]
Move XendDomainInfo.{create,recreate,parseConfig} to the top level of the
domain.  This allows us to refer to them using an import statement, rather than
a from .. import.  This is a step towards getting rid of the xroot hack.  All
other references to XendDomainInfo methods need to be doubly qualified (once
for the module, once for the class).

Remove XendDomainDict, replacing it with a simple dictionary, folding the
get_by_name method into XendDomain.

Replace XendDomain.refresh_lock with a domains_lock which goes around any
reference to XendDomain.domains or anything that will create or destroy a
domain.  This serialises most accesses through XendDomain, ensuring that we will
not return stale state when racing against the watches fired in separate
threads.  This should have fixed bugs #270 and #234.

Added a number of domain_get_xyz methods.  Those named xyz_nr are to allow
components internal to XendDomain (XendDomainInfo, XendCheckpoint) to call back
into XendDomain without triggering further calls to XendDomain.refresh.  The
other methods simply make it clear which fallback behaviour is expected.

Replace XendDomainInfo.domain_exists with XendDomainInfo.domain_by_name; the
internals of this method needed to change to match those changes above, and it
has been a misnomer for some time.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemove the reason code from the destroy action -- the reason is only of value
emellor@ewan [Mon, 3 Oct 2005 23:57:34 +0000 (00:57 +0100)]
Remove the reason code from the destroy action -- the reason is only of value
on a graceful shutdown.  Clarify the semantic difference between poweroff and
halt (we use halt to mean 'shutdown and stop' and poweroff to mean 'shutdown
and do whatever the configured behaviour is').

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemove the reason code from the destroy action -- the reason is only of value
emellor@ewan [Mon, 3 Oct 2005 23:56:24 +0000 (00:56 +0100)]
Remove the reason code from the destroy action -- the reason is only of value
on a graceful shutdown.  Clarify the semantic difference between poweroff and
halt (we use halt to mean 'shutdown and stop' and poweroff to mean 'shutdown
and do whatever the configured behaviour is').

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemove the reason parameter from XendDomain.destroy -- it is useless. Accept
emellor@ewan [Mon, 3 Oct 2005 23:30:49 +0000 (00:30 +0100)]
Remove the reason parameter from XendDomain.destroy -- it is useless.  Accept
the halt shutdown reason inside XendDomainInfo.  This indicates that the
domain should be shutdown just like a poweroff, except that the domain is not
restarted, regardless of the on_poweroff configuration setting.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAdded method XendDomain.privilegedDomain and use that inside DevController to
emellor@ewan [Mon, 3 Oct 2005 23:21:49 +0000 (00:21 +0100)]
Added method XendDomain.privilegedDomain and use that inside DevController to
avoid hard-coding the domain ID 0.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoPossible fix for the SEDF scheduler assertion problem.
jrb44@plym.cl.cam.ac.uk [Mon, 3 Oct 2005 22:28:24 +0000 (23:28 +0100)]
Possible fix for the SEDF scheduler assertion problem.

Signed-off-by: Stephan Diestelhorst <Stephan.Diestelhorst@{cl.cam.ac.uk, inf.tu-dresden.de}>
20 years agoCreate new vcpu_op() hypercall. Replaces old boot_vcpu()
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Oct 2005 18:14:02 +0000 (19:14 +0100)]
Create new vcpu_op() hypercall. Replaces old boot_vcpu()
hypercall and vcpu-related schedop commands.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoCope with missing configuration information inside the configuration method.
emellor@ewan [Mon, 3 Oct 2005 15:40:27 +0000 (16:40 +0100)]
Cope with missing configuration information inside the configuration method.
This allows us to better recover if the store has been deleted.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemove the reason code from the destroy action -- the reason is only of value
emellor@ewan [Mon, 3 Oct 2005 15:39:19 +0000 (16:39 +0100)]
Remove the reason code from the destroy action -- the reason is only of value
on a graceful shutdown.  Clarify the semantic difference between poweroff and
halt (we use halt to mean 'shutdown and stop' and poweroff to mean 'shutdown
and do whatever the configured behaviour is').

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMove the import for XendError, and use a bare import, not a from...import.
emellor@ewan [Mon, 3 Oct 2005 15:33:09 +0000 (16:33 +0100)]
Move the import for XendError, and use a bare import, not a from...import.
This should silence the error message when the program is terminated during
startup.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAllow adjustment of the size of TPM transfer buffers
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Oct 2005 14:05:37 +0000 (15:05 +0100)]
Allow adjustment of the size of TPM transfer buffers
to the size that a lower-layer driver supports.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
20 years agox86/64 was using the plain i386 version of the microcode
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Oct 2005 14:04:27 +0000 (15:04 +0100)]
x86/64 was using the plain i386 version of the microcode
driver instead of the Xen version.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
20 years agoDo not pickle vcpu state on save/restore. We can construct
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Oct 2005 14:02:23 +0000 (15:02 +0100)]
Do not pickle vcpu state on save/restore. We can construct
suitable initial state for each vcpu during restore, without
need for pickle/unpickle.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDynamically allocate mmu_update array in
kaf24@firebug.cl.cam.ac.uk [Mon, 3 Oct 2005 09:26:29 +0000 (10:26 +0100)]
Dynamically allocate mmu_update array in
direct_remap_pfn_range(). This allows larger batches and
avoids stack overflow.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoThe stopgap in changeset 7152:a73ab0ddf990 was broken -- revert the change to
emellor@ewan [Sun, 2 Oct 2005 22:56:13 +0000 (23:56 +0100)]
The stopgap in changeset 7152:a73ab0ddf990 was broken -- revert the change to
domain_lookup_by_name, as it causes an infinite loop on startup.  Leave the
domain_lookup change.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoremove useless ptep_establish_new function (called set_pte_at now)
vh249@kneesaa.uk.xensource.com [Sun, 2 Oct 2005 21:45:32 +0000 (17:45 -0400)]
remove useless ptep_establish_new function (called set_pte_at now)

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoMerged.
emellor@ewan [Sun, 2 Oct 2005 17:24:41 +0000 (18:24 +0100)]
Merged.

20 years agoMove XendVnet from using DBMap etc to using xstransact. This is the last
emellor@ewan [Sun, 2 Oct 2005 17:22:22 +0000 (18:22 +0100)]
Move XendVnet from using DBMap etc to using xstransact.  This is the last
dependency upon xsnode, xsobj, and xsresource, so these can all go.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoCall refresh in the domain_lookup and domain_lookup_by_name methods. This
emellor@ewan [Sun, 2 Oct 2005 17:21:01 +0000 (18:21 +0100)]
Call refresh in the domain_lookup and domain_lookup_by_name methods.  This
should reduce the incidence of stale domain information being used by xend, but
is only a stop-gap.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix call to XendCheckpoint.restore, since that method no longer needs a
emellor@ewan [Sun, 2 Oct 2005 17:17:26 +0000 (18:17 +0100)]
Fix call to XendCheckpoint.restore, since that method no longer needs a
XendDomain instance passed in.

Remove meaningless indirection of imports through web/reactor.py.  Tidy import
statements.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAlso send xenbus notifications using evtchn as handle. It's
kaf24@firebug.cl.cam.ac.uk [Fri, 30 Sep 2005 16:37:52 +0000 (17:37 +0100)]
Also send xenbus notifications using evtchn as handle. It's
always up-to-date as it's reinitialised for us by external
tools during save/restore and migration.

20 years agoxencons must notify via evtchn. It can't use the irq as the
kaf24@firebug.cl.cam.ac.uk [Fri, 30 Sep 2005 16:34:01 +0000 (17:34 +0100)]
xencons must notify via evtchn. It can't use the irq as the
notification handle because console is used early, before the
irq is set up.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMerge.
emellor@ewan [Fri, 30 Sep 2005 16:10:52 +0000 (17:10 +0100)]
Merge.

20 years agoAdd the config file parsing for the on_{poweroff,reboot,crash} options, so that
emellor@ewan [Fri, 30 Sep 2005 16:10:20 +0000 (17:10 +0100)]
Add the config file parsing for the on_{poweroff,reboot,crash} options, so that
they actually take effect.  Added behaviour "rename-restart" for debugging
purposes, that renames the domain out of the way, preserving it for debugging,
but starts a new domain too.

Add explicit remove of old domain paths when creating a new domain, to avoid
stale information affecting us (by shutting the domain down, for example).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMinor tidy.
emellor@ewan [Fri, 30 Sep 2005 16:05:08 +0000 (17:05 +0100)]
Minor tidy.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix earlier merge with Ewan's xenstore changes.
kaf24@firebug.cl.cam.ac.uk [Fri, 30 Sep 2005 14:45:20 +0000 (15:45 +0100)]
Fix earlier merge with Ewan's xenstore changes.

20 years agoChange rebooting specification so that we can have domains crash and stay
emellor@ewan [Fri, 30 Sep 2005 12:59:28 +0000 (13:59 +0100)]
Change rebooting specification so that we can have domains crash and stay
around to be debugged, for example.

Fix problem in XendDomainInfo.eventChannel caused by a mis-merge.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoUpdate comment/variable names to reflect the fact that the backend paths now
emellor@ewan [Fri, 30 Sep 2005 12:58:08 +0000 (13:58 +0100)]
Update comment/variable names to reflect the fact that the backend paths now
contain the frontend domid, not the uuid.  The actual functionality is the same,
because the ID is referred to by path level, so the change in semantics is not
a problem.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoWithin the store, split the persistent information regarding a VM from the
emellor@ewan [Fri, 30 Sep 2005 12:41:10 +0000 (13:41 +0100)]
Within the store, split the persistent information regarding a VM from the
transient information regarding a domain.  This allows live localhost migration,
which is important for testing migration, and also allows migration when we
have a distributed store.  The backend paths in the store now refer to the
frontend domain ID, not its UUID, and blktap has changed to match.

To support this split in the information, the cleanup procedure has been split
to match.

Change the save-restore interface between XendDomain, XendDomainInfo, and
XendCheckpoint, to remove some intermingling, in particular taking XendDomain
out of the loop for the restore procedure.

Improved the recovery procedure to avoid trying to destroy dom0 when recovering.

Added a lock around XendDomain.refresh and one around
XendDomainInfo.refreshShutdown, to improve the behaviour when recreating
domains at startup.  There are still races here, so more thought needs to be
given to the locking.

Live reconfiguration of an existing domain is temporarily broken.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAdded cache-control headers to pages returned by HTTP server so that pages
emellor@ewan [Fri, 30 Sep 2005 10:55:49 +0000 (11:55 +0100)]
Added cache-control headers to pages returned by HTTP server so that pages
expire immediately.  This prevents navigation to stale pages.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoRemove the bizarre arrangement whereby EventChannel inherits from dict. Move
emellor@ewan [Fri, 30 Sep 2005 10:40:59 +0000 (11:40 +0100)]
Remove the bizarre arrangement whereby EventChannel inherits from dict.  Move
the channel-creation logic into eventChannel, making the EventChannel class
simpler.  Remove the closeEventChannel method -- it was simply doing a check
for None, and that isn't enough value to justify the extra method when there
is an EventChannel.close method there too.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMerge.
emellor@ewan [Fri, 30 Sep 2005 09:50:19 +0000 (10:50 +0100)]
Merge.

20 years agoAdded DevController.configuration and configurations methods. These parse the
emellor@ewan [Fri, 30 Sep 2005 09:48:49 +0000 (10:48 +0100)]
Added DevController.configuration and configurations methods.  These parse the
store for the current device configuration, and convert it back into the
s-expression used in the config files and the save files.  This means that we
can bring the devices up properly on restore.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix typos I introduced into tpmfront driver.
kaf24@firebug.cl.cam.ac.uk [Fri, 30 Sep 2005 08:17:07 +0000 (09:17 +0100)]
Fix typos I introduced into tpmfront driver.

20 years agoFix compiler warnings when shadow debugging is enabled.
kaf24@firebug.cl.cam.ac.uk [Thu, 29 Sep 2005 22:44:34 +0000 (23:44 +0100)]
Fix compiler warnings when shadow debugging is enabled.

Fix two classes of warnings when debugging of shadow code is enabled:
  - The type_info field in pfn_info is a long, so use a %lx format
    specifier when printing it.
  - Fix a warning about uninitialized use of eff_guest_pte.

Signed-off-by: Michael Vrable <mvrable@cs.ucsd.edu>